home *** CD-ROM | disk | FTP | other *** search
/ Aminet 44 / Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso / Aminet / comm / misc / Spitfire2.lha / Spitfireイ Install / developer / conduits-conduit.e next >
Text File  |  2000-04-29  |  3KB  |  101 lines

  1. /* SpitfireHSM base conduit library */
  2.  
  3. OPT PREPROCESS
  4.  
  5. MODULE 'palmlink','libraries/palmlink'
  6. MODULE 'dos/dos'
  7. MODULE 'exec/libraries'
  8. MODULE '*spitfireAPIconduit'
  9.  
  10. LIBRARY 'conduits.conduit',1,0,'$VER: conduits.conduit 1.0 (10.04.2000) Copyright ©1999-2000 by Ralph Torchia' IS
  11.   spit_Synchronize,
  12.   spit_ExplainError,
  13.   spit_ConduitName,
  14.   spit_ConduitAuthor,
  15.   spit_ConduitCopyright,
  16.   spit_ConduitDescription,
  17.   spit_ConduitDBName,
  18.   spit_ConduitCreatorID,
  19.   spit_ConduitDefaultAction,
  20.   spit_ConduitActions,
  21.   spit_DesktopPrg,
  22.   spit_DesktopName
  23.  
  24. PROC spit_Synchronize(mydir, palmlib:PTR TO lib, socket, action, priv)
  25.   DEF conduitpath[256]:STRING
  26.   DEF mylock=NIL
  27.   DEF error=FALSE
  28.   DEF olddir=NIL
  29.  
  30.   palmlinkbase:=palmlib
  31.   StrCopy(conduitpath,mydir,ALL)
  32.   AddPart(conduitpath,'conduits',256)
  33.  
  34.   IF (mylock:=Lock(conduitpath,SHARED_LOCK))=NIL
  35.      IF (mylock:=CreateDir(conduitpath))=NIL
  36.         RETURN TRUE
  37.      ENDIF
  38.   ENDIF
  39.   olddir:=CurrentDir(mylock)
  40.  
  41.   SELECT action
  42.     CASE SPIT_ACTION_NOTHING          /* not really need, BUT here FOR completeness */
  43.          NOP
  44.     CASE SPIT_ACTION_SYNCFILES        /* synchronize your database here */
  45.          NOP
  46.     CASE SPIT_ACTION_AMIGAOVERWRITES  /* copy the database TO the pilot */
  47.          NOP
  48.     CASE SPIT_ACTION_REMOTEOVERWRITES /* retrieve database from pilot */
  49.          NOP
  50.     DEFAULT
  51.          error:=TRUE                  /* anything not NIL IS an error */
  52.   ENDSELECT
  53.  
  54.   CurrentDir(olddir)
  55.   UnLock(mylock)
  56. ENDPROC error                         /* a successfull sync return NIL=0 */
  57.  
  58. PROC spit_ExplainError(buf)
  59.   StrCopy(buf, '', ALL)               /* text explaination of last error */
  60. ENDPROC
  61.  
  62.  
  63. PROC spit_ConduitName()        IS 'Base Conduit'          /* official name of your conduit */
  64.  
  65.  
  66. PROC spit_ConduitAuthor()      IS 'Ralph Torchia'         /* author of conduit */
  67.  
  68.  
  69. PROC spit_ConduitCopyright()   IS 'Copyright ©1999-2000 Ralph Torchia\nAll Rights Reserved'  /* copyright notice */
  70.  
  71.  
  72. PROC spit_ConduitDescription() IS 'Used for creating new conduit libraries. For development purpose only!'  /* short explaination of conduit */
  73.  
  74.  
  75. PROC spit_ConduitDBName()      IS 'conduits.pdb'       /* palm db that conduit syncs with */
  76.  
  77.  
  78. PROC spit_ConduitCreatorID()   IS 0                       /* get your conduit id from Palm Computing */
  79.  
  80.  
  81. PROC spit_ConduitDefaultAction() IS SPIT_ACTION_SYNCFILES /* default action that conduit performs */
  82.  
  83.  
  84. PROC spit_ConduitActions(action1, action2, action3, action4, action5, action6)
  85.     StrCopy(action1, 'Synchronize files'        , ALL)   /*  These four should be usually supported */
  86.     StrCopy(action2, 'Amiga overwrites handheld', ALL)
  87.     StrCopy(action3, 'Handheld overwrites Amiga', ALL)
  88.     StrCopy(action4, 'Do nothing'               , ALL)
  89.     StrCopy(action5, ''                         , ALL)
  90.     StrCopy(action6, ''                         , ALL)
  91. ENDPROC
  92.  
  93. PROC spit_DesktopPrg()  IS 'Base Conduit.desktop'
  94. PROC spit_DesktopName() IS 'Base Conduit'
  95.  
  96.  
  97. PROC main() IS EMPTY      /* startup code for when library is opened */
  98.  
  99. PROC close() IS EMPTY     /* ending code for when library is closed */
  100.  
  101.